#!/sbin/openrc-run
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later

RUNAS_USER="vdr"

# Set Verbose Level 0 -> 5 
VERBOSE="1"

#export LANG=de_DE.utf8

depend() {
	need vdr
}

# some fixed Path
CONFIGFILE="/etc/xxv/xxvd.cfg"
PIDFILE="/var/run/xxv/xxvd.pid"
XXV_BIN="/usr/bin/xxvd"
LOGFILE="/var/log/xxv/xxvd.log"

xxv_logger() {
	printf "\tXXV running as user: ${RUNAS_USER}\n" >> "${LOGFILE}"
	printf "\tVerbose Level: ${VERBOSE}\n" >> "${LOGFILE}"
	printf "\tYou can change this in xxv init script\n\n" >> "${LOGFILE}"
}

check_vdradmin() {

	# Check at first, is VDR-Admin running
	# Stopping, while running on same ports
	if [ -n "`netstat -anp | grep vdradmin | grep 8080`" ] ; then
		echo
		eerror "VDR-Admin will Stop at first now"
		eerror "vdradmin and xxv can not run on the same port"
		echo
		/etc/init.d/vdradmin stop
	fi
}

xxv_kill_pid() {

	# After unclear stop, xxvd.pid will not removed, fixed with next line
	if [ ! -x /etc/init.d/root ]; then
		if [ -e ${PIDFILE} -a ! -L /var/lib/init.d/started/xxv ]; then
			rm ${PIDFILE}
			killall xxvd 2> /dev/null
		fi
	fi

}

xxv_kill_initfile() {

	# After unclear stop, init file in /var/lib/init.d/started/ still not removed
	
	if [ ! -x /etc/init.d/root ]; then
		if [ -L /var/lib/init.d/started/xxv -a ! -e ${PIDFILE} ]; then
			rm /var/lib/init.d/started/xxv
			/etc/init.d/xxv zap
			killall xxvd 2> /dev/null
		fi
	fi

}
	
start() {
	check_vdradmin
	xxv_logger	

	ebegin "Start xxv"
	echo
	einfo "xxv running as user: ${RUNAS_USER}"
	einfo "Verbose Level: ${VERBOSE}"
	
	start-stop-daemon  --nicelevel 15 --pidfile ${PIDFILE} --start -u ${RUNAS_USER} --exec ${XXV_BIN} -- \
	-configfile=${CONFIGFILE} -verbose=${VERBOSE} -pidfile=${PIDFILE}
	eend $?
}


stop() {

	ebegin "Stopping xxvd"
	start-stop-daemon --stop --quiet --pidfile ${PIDFILE}

		xxv_kill_pid
		xxv_kill_initfile

	eend $?
}

#restart() {

#	xxv_kill_pid
#	xxv_kill_initfile

#	svc_stop
#	svc_start
#}
